package com.cskaoyan.javase.object.clone7.empty1;

/**
 * @description: 空接口的作用
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 一个类实现或者继承一个接口或者类后，除了继承父类的成员，该类的数据类型也发生了变化
 * 它就变成了该父类的一个子类
 * 于是我们就可以通过instanceof去判断
 *
 */
public class Demo {
    public static void main(String[] args) {
        //模拟克隆实现空接口 底层逻辑
        A a = new A();
        if (a instanceof  MyCloneable){ //如果a是MyCloneable的实现子类
            //允许你去做克隆操作
            //调用native方法去对对象做克隆操作
            System.out.println("允许克隆");
        }
        else { //如果a没有实现该接口
            //抛出异常,终止程序,禁止克隆
            System.out.println("禁止克隆");
        }
    }
}
interface MyCloneable{
}

class A{}
